//AbstractionImp.h
#ifndef _ABSTRACTIONIMP_H_ 
#define _ABSTRACTIONIMP_H_

class AbstractionImp 
{ 
public: 
	virtual ~AbstractionImp();
	virtual void Operation() = 0;
protected:
	AbstractionImp();
private:
};

class ConcreteAbstractionImpA:public AbstractionImp 
{ 
public: 
	ConcreteAbstractionImpA();
	~ConcreteAbstractionImpA();
	virtual void Operation();
protected: 
private:
};

class ConcreteAbstractionImpB:public AbstractionImp 
{ 
public:
	ConcreteAbstractionImpB();
	~ConcreteAbstractionImpB();
	virtual void Operation();
protected: 
private:
};

#endif //~_ABSTRACTIONIMP_H_